/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package dao;

import dao.Conexao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import modelo.LocaisVisitados;

/**
 *
 * @author marcieli
 */
public class LocaisVisitadosDAO {

    public Boolean Excluir(LocaisVisitados obj){
       
                
          
       
        //como utiliza try-with-resource o recurso stmt é fechado automaticamente

    Boolean retorno = false;
        String sql = "DELETE FROM localvisitado WHERE localvisitadoid = ?";
        PreparedStatement pst = Conexao.getPreparedStatement(sql);
        try {

            pst.setInt(1, obj.getCodigo());
           Integer resultado = pst.executeUpdate();
            
            if(resultado > 0){ //executa o DELETE
                retorno=true;
                    JOptionPane.showMessageDialog(null, "Excluído com sucesso!");
                
            } else {
                retorno = false;
                JOptionPane.showMessageDialog(null, "Não excluido");
            }

        } catch (SQLException ex) {
            System.out.println("ERROR" + ex.getMessage());
        }
        return retorno;
    }

    

    public List <LocaisVisitados> Listar() {
        List<LocaisVisitados>  lista = new ArrayList<>();
        
        String sql = "SELECT * FROM localvisitado";
//prepara o sql para execução
        PreparedStatement pst = Conexao.getPreparedStatement(sql);
        ResultSet resultado;
        try {
            resultado = pst.executeQuery();
           
            while (resultado.next()) {
               LocaisVisitados locaisvisitados = new LocaisVisitados();
               locaisvisitados.setCodigo(resultado.getInt("localvisitadoid"));
               locaisvisitados.setNomeLocal(resultado.getString("localvisitadonome"));
               locaisvisitados.setAtendente(resultado.getString("localvisitadoatendente"));
               lista.add(locaisvisitados);
               
            }
            pst.close();   //não podemos esquecer de liberar este recurso
                resultado.close(); 
        } catch (SQLException ex) {
lista = null;        }
        return lista;

    }

    public Boolean Cadastrar(LocaisVisitados locaisvisitados) {
        
        boolean retorno = false;

        String sql = "INSERT INTO localvisitado" + "(localvisitadonome,localvisitadoatendente) VALUES (?,?)";


        PreparedStatement pst = Conexao.getPreparedStatement(sql);
        try {
            pst.setString(1, locaisvisitados.getNomeLocal());
            pst.setString(2, locaisvisitados.getAtendente());
            Integer resultado = pst.executeUpdate();
            if (resultado > 0) {
                retorno = true;
            }else{
                retorno = false;
            }

        } catch (SQLException ex) {
            System.out.println("ERROR" + ex.getMessage());
            retorno = false;
        }
        return retorno;

    }
}
